{% extends "howto" %}

{% block main %}
<h2 id="tools">Les Outils</h2>

<p>Les <em>Outils</em> (Tools) sont un mécanisme utilisé pour ajouter à un Kit des fonctionnalités génériques. Il s'agit d'instances nommées tenant leur configuration du kit auxquels ils appartiennent.</p>

<p>On y accède comme des membres de l'instance du kit :</p>

<code>// obtention de l'instance du kit example.
<var>$kit</var>=&amp;webappkit::getKit('example');

// appel de la methode "connect" de l'outil "dblink" du kit
<var>$kit</var>->dblink->connect();</code>

<p>Ici le kit <q>example</q> fournit un service qu'il n'implémente pas directement via son membre nommé <q>dblink</q>. Seule la configuration du service est issue du kit, le code source provenant lui d'un kit de librairie listé parmi les dépendances de <q>example</q>.</p>

<h3>Le mécanisme</h3>
<p>Le fichier de configuration du kit liste les outils fournis :</p>
<code>[tools]
<var>name</var> = "class"</code>

<p>Le kit contient ensuite, optionnellement, un fichier de configuration pour chaque outil, nommé <var>name</var>.tool.ini</p>
{% endblock %}
